#include "StdAfx.h"
#include "effectxapo.h"


EffectXAPO::EffectXAPO(IXAudio2SourceVoice* pVoice, WAVEFORMATEXTENSIBLE* pwfx):pSourceVoice(pVoice), pWfx(pwfx)
{ 
}

EffectXAPO::~EffectXAPO(void)
{
	//if (pXAPO != NULL)
		pXAPO->Release();
}

bool EffectXAPO::GetEffectState(void) 
{
	BOOL IsEnable;

	pSourceVoice->GetEffectState(EffectNumber, &IsEnable);

	return IsEnable;
}

void EffectXAPO::EnableEffect(void) { pSourceVoice->EnableEffect(EffectNumber);}

void EffectXAPO::DisableEffect(void){ pSourceVoice->DisableEffect(EffectNumber);}


XAUDIO2_EFFECT_DESCRIPTOR* EffectXAPO::GetEffectDescriptor(void)
{
	
	descriptor.InitialState = TRUE;
	descriptor.OutputChannels = pWfx->Format.nChannels;
	descriptor.pEffect = pXAPO;

	return &descriptor;
}




